//----------------  FUNCIONES COMUNES -------------------

//Visible/Invisible un panel, grid, etc.
function muestraPanel(radio, campo) //radio es un objeto selectItem, no es todo el radio
{     
    var radioValue = radio.value;
    if(radioValue == '0')
       document.getElementById(campo).style.display="block";  //Mostramos                              
       
    else       
       document.getElementById(campo).style.display="none";  //Ocultamos                       
}  

//Confirmar eliminacion de registro boolean
function confirmDelete()
{  
    return confirm('&#191;Esta seguro de eliminar el registro?');  
}

//Solo permite digitar numeros
function validarNum(e)
{
    var tecla = (document.all) ? e.keyCode : e.which;
    
    if (tecla == 8) return true; //Backspace
    patron = /\d/;
    te = String.fromCharCode(tecla);
    
    return patron.test(te);
}

//Valida si esta vacio, si no esta vacio convierte a mayusculas
//devuelve 0 si esta vacio y 1 de lo contrario
function validacion1(campoValidar)
{
    var campo =  document.getElementById(campoValidar).value;
    campo = this.trim(campo); 
    
    var flag = this.estaVacio(campo);
    if(flag == 0)
    {        
        alert ("Campo vacio");
        document.getElementById(campoValidar).focus();
        return 0;        
    }  
    campo = campo.toUpperCase();
    document.getElementById(campoValidar).value = campo; 
    
    return 1;//correcto
}

//recibe una cadena y eliminina espacios en blanco del inicio y final, devuelve la nueva cadena
function trim(cadena)
{    
    var tam = cadena.length;
    for(var i = 0; i < tam; i++ )
    {        
        if(cadena.charAt(0) == " ")
            cadena = cadena.substring(1);        
        else
            break;
    }

    tam = cadena.length;//tam actualizado
    tam = tam -1;
    for(i = tam; i >= 0; i--)
    {
        if(cadena.charAt(i) == " ")
            cadena = cadena.substring(0, i);       	   
	else
	   break;
    }
    
    return cadena;
}

//devuelve 0 si esta vacio, 1 de lo contrario
function estaVacio(cadena)
{
    var tam = cadena.length;
     
    if(tam == 0)//vacio
        return 0;
    
    return 1;
}

//devuelve false si length es mayor que maxlength y no deja escribir mas. 
function checkMaxLength(length, maxLength)
{
    return length <= maxLength-1;
}

//Quita espacios en blanco y convierte a Mayusculas
function formateo1(campoFormatear)
{
    var campo =  document.getElementById(campoFormatear).value;
    campo = this.trim(campo);     
    
    campo = campo.toUpperCase();
    document.getElementById(campoFormatear).value = campo;     
}

//Valida un email
function validarEmail(campoValidar) 
{
    var email =  document.getElementById(campoValidar).value;
    
    var er = /^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,4}$/i ;
    
    if (er.test(email))
    {        
        return 1;        
    } 
    else 
    {        
        return 0;                
    }
}

//Devuelve 0 si la cadena tiene menor longitud que el nro de digitos enviados
function tieneNDigitos(cadena, digitos)
{
    var tam = cadena.length;
     
    if(tam < digitos)
        return 0;
    
    return 1;
}

//Solo permite digitar numeros y puntos
function ValidNumYPto(e) 
{
    var tecla= document.all ? tecla = e.keyCode : tecla = e.which;
    
    if (tecla == 8) return true; //Backspace
    
    return ((tecla > 47 && tecla < 58) || tecla == 46);    
}
 /* Tambien funciona en Mozila = q ValidNumYPto(e)
function ValidNumYPto(e){
tecla_codigo = (document.all) ? e.keyCode : e.which;
patron =/[0-9.]/;
tecla_valor = String.fromCharCode(tecla_codigo); 
return patron.test(tecla_valor); 

}*/

//Valida que el campo no este vacio, no tenga  mas de 1 punto decimal y sea mayor a 0
//No validamos que sean solo nros ya que eso se hace al digitar , solo permite numeros y puntos en la caja de texto
//devuelve 0 si esta correcto y 1 de lo contrario
function validacion2(campoValidar)
{
    var flag = 0;
    //No este vacio
    var campo =  document.getElementById(campoValidar).value;
    campo = this.trim(campo); 
    
    flag = this.estaVacio(campo);
    if(flag == 0)
    {        
        alert ("Campo vacio");    
        document.getElementById(campoValidar).focus();
        return 0;        
    }  
    
    //Mayor a 0,
    if(campo <= 0)
    {
        alert ("Debe ser mayor a 0"); 
        document.getElementById(campoValidar).focus();
        return 0;
            
    }
    //Validacion que tenga un solo pto    
    var tam = campo.length;
    var puntos = 0;
    for(var i = 0; i < tam; i++ )
    {        
        if(campo.charAt(i) == ".")
            puntos = puntos + 1;   
        
        if(puntos > 1)
        {             
            break;                
        }
            
    }
    
    //si no tiene puntos o solo tiene 1 pto decimal es correcto.
    if(puntos > 1)
    {
        alert ("Solo debe poner un punto decimal como maximo");
        document.getElementById(campoValidar).focus();
        return 0;            
    }  
    
    return 1;//correcto
}
